﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using l1cs.server.model.Instance;

namespace l1cs.server.model.monitor
{
    class L1PcHellMonitor : L1PcMonitor
    {
        public L1PcHellMonitor( int oId ) : base( oId ) { }

        public override void execTask( L1PcInstance pc )
        {
            if ( pc.isDead() )
            { // 死んでいたらカウントダウンしない
                return;
            }
            pc.setHellTime( pc.getHellTime() - 1 );
            if ( pc.getHellTime() <= 0 )
            {
                // endHellの実行時間が影響ないように
                // TODO 優先度1 地獄のスレッドプール
                //Runnable r = new L1PcMonitor(pc.getId()) {
                //    @Override
                //    public void execTask(L1PcInstance pc) {
                //        pc.endHell();
                //    }
                //};
                //GeneralThreadPool.getInstance().execute(r);
            }
        }
    }
}
